/**
 * 系统后台报表模板配置配置JS-systemDataSource.jsp
 */

// 项目路径
var strPath = window.document.location.pathname;
//var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
var postPath = "/gdp";
var editStart = 1;// 1添加、2修改
var editAddonsStart = 1;// 1添加、2修改
var dd = 0;
$(function() {
	$("#ssss").hide();
	// 数据列表
	$("#tb_dataList").bootstrapTable({
		url : postPath + '/system/reptemplet/queryReptemplate',
		//method: 'post',  
		undefinedText : '-',
		//detailView: true,//父子表
		pagination : true, // 分页
		striped : true, // 是否显示行间隔色
		queryParams : queryParams,
		cache : false, // 是否使用缓存
		pageList : [ 5, 10, 20 ],
		toolbar : "",// 指定工具栏
		showColumns : false, // 显示隐藏列
		showRefresh : false, // 显示刷新按钮
		uniqueId : "guid", // 每一行的唯一标识
		sidePagination : "server", // 服务端处理分页
		columns : [ /*{
			field : 'state',
			checkbox : true,
			align : 'center',
			valign : 'middle'
		},*/ {
			title : '模板名称',
			field : 'templateName', // 字段
			align : 'center', // 对齐方式（左 中 右）
			valign : 'middle', //  
			sortable : false
		}, {
			title : '模板类型',
			field : 'templateType',
			align : 'left',
			valign : 'middle',
			sortable : false,
			formatter:function(value,row,index){
	        	if(value == "simple"){
	        		return "简单报表";
	        	}else if(value == "ceosstab") {
	        		return "交叉报表";
	        	}else if(value == "complex") {
	        		return "复杂报表";
	        	}
	        }
		}, {
			title : '模板地址',
			field : 'templateUrl',
			align : 'center',
			valign : 'middle',
			sortable : false
		}, /*{
			title : '模板列数',
			field : 'columns',
			align : 'left',
			valign : 'middle',
			sortable : false
		},*/ {
			title : '模板说明',
			field : 'templateDesc',
			align : 'center',
			valign : 'middle',
			sortable : false
		}, {
			title : '操作',
			align : 'center',
			valign : 'middle',
			sortable : false,
			formatter:function(value,row,index){
				var strtd = "";
//				strtd+="<a href='javascript:;' onclick='addRepaddonsClick(\"" + row.guid + "\");' class='btn btn-default btn-sm'><i class='fa fa-plus'></i></a>";
                strtd+="<a href='javascript:;' onclick='updateReptemplateClick(\"" + row.guid + "\");' class='btn btn-default btn-sm'><i class='fa fa-edit'></i> </a> ";  
                strtd+=" <a href='javascript:;' onclick='delReptemplateClick(\"" + row.guid + "\");' class='btn btn-default btn-sm'><i class='fa fa-remove'></i> </a>";
	        return strtd;
			}
		}],
		//初始化子表格(无线循环)
		//注册加载子表的事件。注意下这里的三个参数！
//        onExpandRow: function (index, row, $detail) {
//        	var parentid = row.MENU_ID;
//            var cur_table = $detail.html('<table></table>').find('table');
//            $(cur_table).bootstrapTable({
//                url: postPath + '/system/repaddons/queryRepaddonsByTempId',
//                method: 'get',
//                queryParams: { tempId: row.guid },
//                clickToSelect: true,
//                //detailView: true,//父子表
//                uniqueId: "guid",
//                pageSize: 10,
//                pageList: [10, 25],
//                columns: [ {
//        			title : '属性编码',
//        			field : 'propname', // 字段
//        			align : 'center', // 对齐方式（左 中 右）
//        			valign : 'middle', //  
//        			sortable : false
//        		}, {
//        			title : '属性名称',
//        			field : 'propcaption',
//        			align : 'center',
//        			valign : 'middle',
//        			sortable : false
//        		}, {
//        			title : '备注',
//        			field : 'remark',
//        			align : 'left',
//        			valign : 'middle',
//        			sortable : false,
//        		}, {
//        			title : '操作',
//        			align : 'center',
//        			valign : 'middle',
//        			sortable : false,
//        			formatter:function(value,row,index){
//        				var strtd = "";
//        				//strtd+="<a href='javascript:;' onclick='addClick();' class='btn btn-default btn-sm'><i class='fa fa-plus'></i></a>";
//                        strtd+="<a href='javascript:;' onclick='updatepRepaddonsClick(\"" + row.guid + "\");' class='btn btn-default btn-sm'><i class='fa fa-edit'></i> </a> ";  
//                        strtd+=" <a href='javascript:;' onclick='delRepaddonsClick(\"" + row.guid + "\");' class='btn btn-default btn-sm'><i class='fa fa-remove'></i> </a>";
//        	        return strtd;
//        			}
//        		}],
//                //无线循环取子表，直到子表里面没有记录
////                onExpandRow: function (index, row, $Subdetail) {
////                    oInit.InitSubTable(index, row, $Subdetail);
////                }
//            });
//        }
	});
	
//	$('input[id=lefile]').change(function() {  
//		$('#photoCover').val($(this).val());  
//	});
	
	// 查询操作
	$("#btn_Search").click(function() {
		$("#tb_dataList").bootstrapTable('refresh');
	});

	// 刷新操作
	$("#btn_ref").click(function() {
		$("#tb_dataList").bootstrapTable('refresh'); 
	});


	// 添加操作
	$("#btn_add").click(function() {
		cleanContent();
		$("#EditContent").modal('show');
		editStart = 1;
	});

	// 保存数据
	$("#btn_save").click(function() {
		var validataResult = validateData();
		if (validataResult) {
			var editurl = "";
			var basicserver = "";
			if (editStart == 1) {
				editurl = postPath + '/system/reptemplet/insertReptemplate';
				$.ajaxFileUpload({
					url : editurl,
					type : 'post',
					secureuri : false,
					fileElementId : ['jasperToUpload', 'jrxmlToUpload'],
					dataType : 'json',
					data : {
						"templatename" : $("#templatename").val(),
						//"url" : $("#url").val(),
						"templatetype" : $("#templatetype").val(),
						"templatedesc" : $("#templatedesc").val(),
						},
					success : function(data, status) {
						if (data) {
							showMsg("保存成功!","success");
							$('#tb_dataList').bootstrapTable('refresh');
							$("#EditContent").modal('hide');
						} else {
							showMsg("保存失败,请刷新后重试!","error");
							$('#tb_dataList').bootstrapTable('refresh');
							$("#EditContent").modal('hide');
						}
//						$('#fileToUpload').replaceWith('<input id="fileToUpload" type="file" name="file" />');
					},
					error : function(data, status, e) {
						showMsg("上传发生异常!","error");
						$('#tb_dataList').bootstrapTable('refresh');
						$("#EditContent").modal('hide');
					}
				});
				return false;
			} else if (editStart == 2) {
				editurl = postPath + '/system/reptemplet/updateReptemplate';
				$.ajaxFileUpload({
					url : editurl,
					type : 'post',
					secureuri : false,
					fileElementId : 'fileToUpload',
					fileElementId : ['jasperToUpload', 'jrxmlToUpload'],
					dataType : 'json',
					data : {
						"guid" : $("#guid").val(),
						 "templatename" : $("#templatename").val(),
						 //"url" : $("#url").val(),
						 "templatetype" : $("#templatetype").val(),
						 "templatedesc" : $("#templatedesc").val()
						},
					success : function(data, status) {
						if (data) {
							showMsg("保存成功!","success");
							$('#tb_dataList').bootstrapTable('refresh');
							$("#EditContent").modal('hide');
						} else {
							showMsg("保存失败,请刷新后重试!","error");
							$('#tb_dataList').bootstrapTable('refresh');
							$("#EditContent").modal('hide');
						}
//						$('#fileToUpload').replaceWith('<input id="fileToUpload" type="file" name="file" />');
					},
					error : function(data, status, e) {
						showMsg("上传发生异常!","error");
						$('#tb_dataList').bootstrapTable('refresh');
						$("#EditContent").modal('hide');
					}
				});
				return false;
			}
		}

	});
	
	// 保存模板属性数据
//	$("#btn_addons_save").click(function() {
//		var validataResult = validateAddonsData();
//		if (validataResult) {
//			var editurl = "";
//			if (editAddonsStart == 1) {
//				editurl = postPath + '/system/repaddons/insertRepaddons';
//			} else if (editAddonsStart == 2) {
//				editurl = postPath + '/system/repaddons/updateRepaddons';
//			}
//			var basicserver = "";
//			if(editAddonsStart == 1){
//				basicserver = {
//						"tempid" : $("#addonstempId").val(),
//						"propname" : $("#propname").val(),
//						"propcaption" : $("#propcaption").val(),
//						"remark" : $("#addonsRemark").val()
//					};
//			}else{
//				 basicserver = {
//						 "guid" : $("#addonsGuid").val(),
//						 "tempid" : $("#addonstempId").val(),
//						 "propname" : $("#propname").val(),
//						 "propcaption" : $("#propcaption").val(),
//						 "remark" : $("#addonsRemark").val()
//					};
//			}
//			$.ajax({
//				type : "POST",
//				url : editurl,
//	            data : JSON.stringify(basicserver),
//	            dataType: 'json',
//	            contentType:'application/json;charset=UTF-8',
//				success : function(res) {
//					if (res) {
//						bootbox.alert("保存成功!");
//						$('#tb_dataList').bootstrapTable('refresh');
//						$("#EditAddonsContent").modal('hide');
//					} else {
//						bootbox.alert("保存失败,请刷新后重试!");
//					}
//				}
//			});
//		}
//
//	});
//	
});

//删除模板数据
function delReptemplateClick(guid) {
	bootbox.confirm("确认删除?", function(result) {
		if (result == false)
			return;
		
		$.ajax({
			url : postPath + '/system/reptemplet/deleteReptemplate',
			type : 'get',
			data : {
				guid : guid
			},
			success : function(data) {
				showMsg("删除成功!","success");
				$('#tb_dataList').bootstrapTable('refresh');
			},
			error : function() {
				showMsg("删除失败!","error");
			}
		});
	});
}

//修改模板操作
function updateReptemplateClick(guid){
	cleanContent();
	$.ajax({
		type : 'get',
		url : postPath + '/system/reptemplet/selectReptemplateByKey',
		async : false,
		data : {
			guid : guid,
		},
		success : function(res) {
			$("#guid").val(res.guid);
			$("#templatename").val(res.templateName);
			$("#templatetype").val(res.templateType);
			$("#templateurl").val(res.templateUrl);
			$("#jrxmlurl").val(res.jrxmlUrl);
			$("#templatedesc").val(res.templateDesc);
			editStart = 2;
		}
	});
	$("#EditContent").modal('show');

}

//function addRepaddonsClick(guid) {
//	cleanContent();
//	$("#addonstempId").val(guid);
//	$("#EditAddonsContent").modal('show');
//	editAddonsStart = 1;
//}
////删除模板属性
//function delRepaddonsClick(guid) {
//	bootbox.confirm("确认删除?", function(result) {
//		if (result == false)
//			return;
//		
//		$.ajax({
//			url : postPath + '/system/repaddons/deleteRepaddonsByKey',
//			type : 'get',
//			data : {
//				guid : guid
//			},
//			success : function(data) {
//				bootbox.alert("删除成功!");
//				$('#tb_dataList').bootstrapTable('refresh');
//			},
//			error : function() {
//				bootbox.alert("删除失败!");
//			}
//		});
//	});
//}
//
////修改模板属性
//function updatepRepaddonsClick(guid){
//	cleanContent();
//	$.ajax({
//		type : 'get',
//		url : postPath + '/system/repaddons/queryRepaddonsByKey',
//		async : false,
//		data : {
//			guid : guid,
//		},
//		success : function(res) {
//			$("#addonsGuid").val(res.guid);
//			$("#addonstempId").val(res.tempid);
//			$("#propname").val(res.propname);
//			$("#propcaption").val(res.propcaption);
//			$("#addonsRemark").val(res.remark);
//			editAddonsStart = 2;
//		}
//	});
//	$("#EditAddonsContent").modal('show');
//
//}

/** 查询条件与分页数据 */
function queryParams(pageReqeust) {
	var temp = {
		searchTxt : $("#searchTxt").val(),
		pageNo : pageReqeust.offset / pageReqeust.limit + 1,
		pageSize : pageReqeust.limit,
		
	};
	return temp;
}

// 内容初始化
function cleanContent() {
	// 维护内容清空
	$("#guid").val("");
	$("#templatename").val("");
	$("#templatetype").val("");
	$("#templatedesc").val("");
	$('#jasperToUpload').replaceWith('<input id="jasperToUpload" type="file" name="file" />');
	$('#jrxmlToUpload').replaceWith('<input id="jrxmlToUpload" type="file" name="file" />');
	$("#templateurl").val("");
	$("#jrxmlurl").val("");
	//var file = $("#lefile");
	//file.after(file.clone().val(""));      
	//file.remove(); 
	$(".fileinput-filename").html("");
	// 验证信息清空
	$("#valide_name").html("");
	$("#valide_url").html("");
	$("#valide_orientation").html("");
	$("#valide_columns").html("");
	$("#valide_remark").html("");
	
	//模板属性内容
//	$("#addonsGuid").val("");
//	$("#addonstempId").val("");
//	$("#propname").val("");
//	$("#propcaption").val("");
//	$("#addonsRemark").val("");
	
	//模板属性验证
//	$("#valide_propname").html("");
//	$("#valide_propcaption").html("");
//	$("#valide_addons_remark").html("");
}

// 验证表单内容
function validateData() {
	
	if ($("#templatename").val() == "") {
		$("#valide_templatename").html("模板名称不能为空!");
		return false;
	} else {
		$("#valide_templatename").html("");
	}
	/*if ($("#url").val() == "") {
		$("#valide_url").html("模板地址不能为空!");
		return false;
	} else {
		$("#valide_url").html("");
	}*/
	if ($("#templatetype").val() == "") {
		$("#valide_templatetype").html("请选择模板类型!");
		return false;
	} else {
		$("#valide_templatetype").html("");
	}
	if ($("#templatedesc").val() == "") {
		$("#valide_templatedesc").html("模板列数不能为空!");
		return false;
	} else {
		$("#valide_templatedesc").html("");
	}
	if(editStart == 1){
		if($("#jasperToUpload").val() == ""){
			$("#valide_jasperToUpload").html("请选择模板文件!");
			return false;
		}else{
			//取出上传文件的扩展名
			 var index = $("#jasperToUpload").val().lastIndexOf(".");
			 var ext = $("#jasperToUpload").val().substr(index+1);
			 if(ext != "jasper"){
				 $("#valide_jasperToUpload").html("请上传jasper格式文件！");
				 return false;
			 }else{
				 $("#valide_jasperToUpload").html("");
			 }
		}
		if($("#jrxmlToUpload").val() == ""){
			$("#valide_jrxmlToUpload").html("请选择jrxml文件!");
			return false;
		}else{
			//取出上传文件的扩展名
			 var index = $("#jrxmlToUpload").val().lastIndexOf(".");
			 var ext = $("#jrxmlToUpload").val().substr(index+1);
			 if(ext != "jrxml"){
				 $("#valide_jrxmlToUpload").html("请上传jrxml格式文件！");
				 return false;
			 }else{
				 $("#valide_jrxmlToUpload").html("");
			 }
		}
	}else if(editStart == 2){
		if($("#jasperToUpload").val() != ""){
			
			//取出上传文件的扩展名
			 var index = $("#jasperToUpload").val().lastIndexOf(".");
			 var ext = $("#jasperToUpload").val().substr(index+1);
			 if(ext != "jasper"){
				 $("#valide_jasperToUpload").html("请上传jasper格式文件！");
				 return false;
			 }else{
				 $("#valide_jasperToUpload").html("");
			 }
		}
		if($("#jrxmlToUpload").val() != ""){
			
			//取出上传文件的扩展名
			 var index = $("#jrxmlToUpload").val().lastIndexOf(".");
			 var ext = $("#jrxmlToUpload").val().substr(index+1);
			 if(ext != "jrxml"){
				 $("#valide_jrxmlToUpload").html("请上传jrxml格式文件！");
				 return false;
			 }else{
				 $("#valide_jrxmlToUpload").html("");
			 }
		}
	}
	
	return true;
}

//模板属性验证
//function validateAddonsData() {
//	
//	if ($("#propname").val() == "") {
//		$("#valide_propname").html("属性编码不能为空!");
//		return false;
//	} else {
//		$("#valide_propname").html("");
//	}
//	if ($("#propcaption").val() == "") {
//		$("#valide_propcaption").html("属性名称不能为空!");
//		return false;
//	} else {
//		$("#valide_propcaption").html("");
//	}
//	return true;
//}

function showMsg(text, icon) {
	$.toast().reset('all');
	$.toast({
		text: text,
		icon: icon,
		showHideTransition: 'fade',
		allowToastClose: true,
		hideAfter: 1500,
		stack: false,
		position: 'top-right',
		textAlign: 'left',
		loader: true,
		loaderBg: '#9ec600',
	});
}
